Tablas Pivot

Jorge Mario Estrada Alvarez

Estructuras de datos

pivot_longer()

Fuente: Neal Batra. EpiRhandbook

Por favor descarga de este enlace los siguientes datos:

https://github.com/jmea2/R-Epi_Campo/blob/main/malaria_count.rds

# A tibble: 3,038 × 5
   location_name Province District `malaria_rdt_0-4` `malaria_rdt_5-14`
   <chr>         <chr>    <chr>                <int>              <int>
 1 Facility 1    North    Spring                  11                 12
 2 Facility 2    North    Bolo                    11                 10
 3 Facility 3    North    Dingo                    8                  5
 4 Facility 4    North    Bolo                    16                 16
 5 Facility 5    North    Bolo                     9                  2
 6 Facility 6    North    Dingo                    3                  1
 7 Facility 6    North    Dingo                    4                  0
 8 Facility 5    North    Bolo                    15                 14
 9 Facility 5    North    Bolo                    11                 11
10 Facility 5    North    Bolo                    19                 15
# ℹ 3,028 more rows
pivot_longer(data = , # dataframe
             cols = , # columnas a pivotear
             names_to = , # nombre de la nueva variable,
             values_to = ) # variable donde queda los valores

pivot_longer(data = malaria,
cols = c("malaria_rdt_0-4", "malaria_rdt_5-14", "malaria_rdt_15","malaria_tot"),
names_to = "gr_edad",
values_to = "casos") %>% 
  select(c(1,4,5,6,7,8))
# A tibble: 12,152 × 6
   location_name Province District newid gr_edad          casos
   <chr>         <chr>    <chr>    <int> <chr>            <int>
 1 Facility 1    North    Spring       1 malaria_rdt_0-4     11
 2 Facility 1    North    Spring       1 malaria_rdt_5-14    12
 3 Facility 1    North    Spring       1 malaria_rdt_15      23
 4 Facility 1    North    Spring       1 malaria_tot         46
 5 Facility 2    North    Bolo         2 malaria_rdt_0-4     11
 6 Facility 2    North    Bolo         2 malaria_rdt_5-14    10
 7 Facility 2    North    Bolo         2 malaria_rdt_15       5
 8 Facility 2    North    Bolo         2 malaria_tot         26
 9 Facility 3    North    Dingo        3 malaria_rdt_0-4      8
10 Facility 3    North    Dingo        3 malaria_rdt_5-14     5
# ℹ 12,142 more rows

pivot_wider()

Fuente: Neal Batra. EpiRhandbook

pivot_wider

Reto: Crear la tabla a partir de los datos de Malaria

Luego si podemos utilizar la siguiente función que convertira en una tabla ancha (wider)

pivot_wider(data = ,  # dataset a pivotear
            id_cols =, #columan que quedara fija 
            names_from = # variable que sus valores se convertiran en columnas,
            values_from = ) # los valores que alimentaras la nuevas columnas

pivot_wider(malaria_semanal,
            id_cols = District,
            names_from = semana,
            values_from = casos_0_4)